1. Field of the Invention
The present invention generally relates to processing data using heterogeneous processing engines and more specifically to a system and method for dynamically balancing instruction execution between different heterogeneous processing engines.
2. Description of the Related Art
Current computing systems configured to execute programs include either fixed function computation units configured to execute a particular program instruction or set of program instructions or homogeneous processing engines configured to execute any valid program instruction. More recently, computing systems include heterogeneous processing engines, where different types of processing engines may each execute a subset of the different program instructions. In order to maximize processing throughput, it is desirable to distributing program instructions to the different processing engines so that each of the different types of processing engines are fully utilized.
Accordingly, what is needed in the art is systems and methods for improving program instruction execution throughput for computing systems that include heterogeneous processing engines.